home *** CD-ROM | disk | FTP | other *** search
/ Turnbull China Bikeride / Turnbull China Bikeride - Disc 2.iso / STUTTGART / UTIL / MEMORY / OLD / MEM208SRC / FSLib / s / cstart next >
Text File  |  1992-10-26  |  2KB  |  91 lines

  1. ;$Id: s.cstart 3.1 93/03/09 23:36:57 brian Exp $
  2. r0      RN      0
  3. r1      RN      1
  4. r2      RN      2
  5. r3      RN      3
  6. r4      RN      4
  7. r5      RN      5
  8. r6      RN      6
  9. r7      RN      7
  10. r8      RN      8
  11. r9      RN      9
  12. r10     RN     10
  13. r11     RN     11
  14. r12     RN     12
  15. r13     RN     13
  16. r14     RN     14
  17. r15     RN     15
  18.  
  19. a1      RN      0
  20. a2      RN      1
  21. a3      RN      2
  22. a4      RN      3
  23.  
  24. v1      RN      4
  25. v2      RN      5
  26. v3      RN      6
  27. v4      RN      7
  28. v5      RN      8
  29. v6      RN      9
  30.  
  31. sl      RN     10
  32. fp      RN     11
  33. ip      RN     12
  34. sp      RN     13
  35. lr      RN     14
  36. pc      RN     15
  37.  
  38. STACK_SIZE * 8192
  39. OS_Module * &001e
  40. OS_Exit * &0011
  41.  
  42.  
  43.         IMPORT  |Image$$RO$$Base|
  44.         IMPORT  |_Lib$Reloc$Off$DP|
  45.         IMPORT  filertask
  46.         IMPORT  taskstack
  47.  
  48.         EXPORT  |_blib_entermodule|
  49.  
  50.         AREA    |_blib_entermodulearea|,REL,CODE,READONLY
  51.  
  52. |_blib_entermodule|
  53.         MOV     v1,r0           ;Save command tail
  54.         LDR     r12,[r12]       ;Workspace ptr from private word
  55.         LDMIB   r12,{v2,v3}     ;Module relocations
  56.         LDR     v4,taskstackptr ;A Ptr to taskstack variable
  57.         ADD     v4,v4,v3        ;gets relocated for user variable
  58.         MOV     r0,#6
  59.         MOV     r3,#STACK_SIZE
  60.         SWI     OS_Module
  61.         MOV     sl,r2
  62.         STR     sl,[v4]
  63.         ADD     sp,sl,r3
  64.         STMIA   sl,{v2,v3}
  65.  
  66.         ; This is equivalent of 'ADD r10, r10, #0' + |_Lib$Reloc$Off$DP|
  67.         DCD     |_Lib$Reloc$Off$DP| + &E28AA000
  68.  
  69.         MOV     fp,#0
  70.         MOV     a1,v1
  71.         BL      filertask
  72.  
  73.         ; This is equivalent of 'SUB r10, r10, #0' + |_Lib$Reloc$Off$DP|
  74.         DCD     |_Lib$Reloc$Off$DP| + &E24AA000
  75.  
  76.         MOV     v1,r0
  77.  
  78.         MOV     r2,sl
  79.         MOV     r0,#7
  80.         SWI     OS_Module
  81.         MOV     r0,#0
  82.         STR     r0,[v4]
  83.  
  84.         MOV     r0,v1
  85.         SWI     OS_Exit
  86.  
  87. taskstackptr
  88.         DCD     taskstack
  89.  
  90.         END
  91.